#include <cstdio>
#include <iostream>
#include <string>
#include <vector>
#include <cmath>

using namespace std;

typedef long long ll;
string s;
 
int a, b, c;
  
int main() { 
	while (cin >> s) {
		int flag = 1, sign = 1; // 用flag标记+、-号，用sign标记=前还是后
		int k = 0;
		a = b = c = 0;
		for (int i = 0; i < s.length(); i++) {
			if (s[i] == '+')
			 	flag = 1;
			else if (s[i] == '-')
			 	flag = -1;
			else if (s[i] == '=') {
				sign = -1;
				flag = 1;
			}
			if (s[i] >= '0' && s[i] <= '9') {
				while (i < s.length() && s[i] >= '0' && s[i] <= '9') {
					k = k * 10 + s[i] - '0';
					i++;
				} // 遇到数字转换成十进制
				if (i == s.length() || s[i] != 'x') {
					c += k * flag * sign; //0次项
			   		i--;
			   		k = 0;
			   	} else if (i == s.length() - 1 || s[i+1] != '^') {
					b += k * flag * sign;
					k = 0; // 1次项
				} else {
					a += k * flag * sign;
					k = 0;
					i += 2;
				} // 2次项
			} else if (s[i] == 'x'){ //省略系数1的情况
				if (i == s.length() - 1 || s[i+1] != '^')
					b += 1 * flag * sign;
				else {
					a += 1 * flag * sign;
					i += 2;
				}
			}
		}
		
		int d = b * b - 4 * a * c;
		if (d < 0)
			cout << "No Solution" << endl;
		else {
			float s = sqrt(1.0*d);
			float x1 = (-b-s) / (2*a);
			float x2 = (-b+s) / (2*a);
			if(x1 > x2)
				swap(x1, x2); // 并不知道x1和x2的大小关系，因为a可能是负数
			printf("%.2f %.2f", x1, x2);
		}
	
	
	}
 
	return 0;
}
